package com.sc.nft.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import com.sc.nft.enums.task.ActivityTaskTypeEnum;
import com.sc.nft.enums.task.ParticipantsEnum;
import com.sc.nft.sup.SuperEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;

/**
 * <p>
 * 
 * </p>
 *
 * @author zxy
 * @since 2023-09-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sc_activity_task")
public class ActivityTask  extends SuperEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "任务模板Id")
    private Long taskPanelId;

    @ApiModelProperty(value = "任务名称")
    private String taskName;

    @ApiModelProperty(value = "任务类型")
    private ActivityTaskTypeEnum type;

    @ApiModelProperty(value = "状态")
    private Boolean status;

    @ApiModelProperty(value = "消费金额")
    private BigDecimal spendPrice;

    @ApiModelProperty(value = "购买数量")
    private Integer buyCount;

    @ApiModelProperty(value = "藏品范围")
    private Boolean collectionRange;

    @ApiModelProperty(value = "商品范围")
    private Boolean mallRange;

    @ApiModelProperty(value = "购买商品Id")
    private Long buyCollectionId;

    @ApiModelProperty(value = "权重")
    private Integer sort;

    @ApiModelProperty("任务进度重置 0无 1每周一0点")
    @Range(min = 0,max = 1,message = "任务进度不正确")
    private Integer taskPlan;
    @ApiModelProperty("是否可重复")
    private Boolean repeatFinish ;

    @ApiModelProperty(value = "参与对象0，不限  1，指定NFT")
    private ParticipantsEnum participants;

    @ApiModelProperty(value = "指定商品id")
    private Long partakeCollectionId;


}
